package com.six.order.service;

import com.six.core.entity.Goods;
import com.six.core.entity.Order;
import com.baomidou.mybatisplus.extension.service.IService;
import com.six.core.vo.Result;
import com.six.order.vo.DeliverGoodsVo;
import com.six.order.vo.OrderShopVo;
import com.six.order.vo.OrderUserVo;

import java.util.List;

/**
* @author 汪鹏
* @description 针对表【sto_order】的数据库操作Service
* @createDate 2023-03-04 09:10:31
*/
public interface OrderService extends IService<Order> {

    /** 用户点击商品下单向数据库添加订单信息 */
    Result createOrder(List<Order> orderList);

    /** 用户查询自己的订单详情，通过自己的userid来进行查询 */
    Result userSelect(int currentPage, int pageSize,OrderUserVo orderUserVo);

    /** 店铺查询本店铺的销售订单信息，通过自己的店铺id查询 */
    Result shopSelect(int currentPage, int pageSize, OrderShopVo orderShopVo);

    /** 店铺发货，通过修改订单中的sendstate状态，修改为0 */
    Result deliverGoods(DeliverGoodsVo deliverGoodsVo);

    /**  用户收货，修改该条订单中的sendstate状态，修改为2 */
    Result receiving(DeliverGoodsVo deliverGoods);

    /** 用户评价，评价过后将订单中的状态改为已评价，这样一个用户只能评价一次 用户添加评论时远程调用*/
    Integer addComment(String orderid,String goodsid);

    /**  用户订单删除订单 */
    Result deleteOrder(String orderid);

    /** 用户取消订单*/
    Result quXiaoOrder(String orderId);

    /** 根据id 查询goodsid 根据查询goodsid查询成交量*/
    Result selectPaystateByGoodsid(Integer id);


    /**
     * 根据orderid查询多条数据,判断支付状态
     */
    void selectOrderStatus(String orderId);

}
